草庐IT

Javascript toFixed 不舍入

全部标签

ios - 在 Objective-C 中,如何在不舍入的情况下删除 float 的尾随零?

我需要在不舍入的情况下清除float的尾随零吗?我只需要显示相关的小数位。例如,如果我有0.5,我需要它显示0.5,而不是0.500000。如果我有2.58328,我想显示2.58328。如果我有3,我想显示3,而不是3.0000000。基本上,我需要更改小数位数。 最佳答案 使用以下内容:NSString*floatString=[NSStringstringWithFormat:@"%g",myFloat]; 关于ios-在Objective-C中,如何在不舍入的情况下删除float

ios - 如何舍入 CGFloat

我做了这个方法+(CGFloat)round:(CGFloat)f{inta=f;CGFloatb=a;returnb;}它按预期工作,但只是向下舍入。如果它是负数,它仍会向下舍入。这只是我制作的一个快速方法,它是否正确舍入并不是很重要,我只是为了我的游戏舍入相机的x和y值。这个方法可以吗?快吗?或者有更好的解决方案吗? 最佳答案 2018年答案这里的其他答案要么过时了,要么没有给出很好的例子。使用Swift内置的rounded函数可以很容易地对CGFloat进行舍入。letx:CGFloat=3.5lety=x.rounded()

python - 如何处理Python SQLite 中财务计算的浮点型舍入误差?

这个问题在这里已经有了答案:Isfloatingpointarbitraryprecisionavailable?(5个答案)关闭2年前。我正在创建一个金融应用程序,我在sqlite中的float似乎在四处float。有时4.0会是4.000009,而6.0会是6.00006,诸如此类。我怎样才能使这些更准确而不影响我的财务计算?如果重要的话,值来自Python。不确定困惑的数字来自哪个区域。

sqlite - iOS 上 TDateTime 的舍入错误

根据时间戳(TDateTime)计算32位ID时,出现奇怪的错误。在某些情况下,不同处理器上的值不同。fTimeStamp字段是从SQLite数据库中的Double字段读取的。下面的代码从fTimeStamp计算出一个32位ID(lIntStamp),但在某些(罕见的)情况下,即使源数据库文件完全相同(即存储在文件相同)。...fTimeStamp:TDateTime...varlIntStamp:Int64;beginlIntStamp:=Round(fTimeStamp*864000);//86400=24*60*60*10=stepsof1/10thsecondlIntStamp

swift - 在 Swift 中,我如何显示一个没有小数位的向上或向下舍入的百分比值

我认为这会相当简单,但我似乎无法解决或找不到涵盖我的情况的现有问题。本来我设置了一些变量如下:varscore:Int!=0vartotalquestionsasked:Int!=0varpercentagecorrect:Int!=0这让我所有的值都可以正常计算,但我遇到了百分比问题。我的百分比基本公式是:percentagecorrect=score/totalquestionsasked*100但是,在文本标签中使用该值时,我无法显示它。所以经过一些研究,我将变量改为:varscore:Double=0.0vartotalquestionsasked:Double=0.0varp

swift - 将 Double 舍入到最接近的 10

我想将Double舍入到最接近的10的倍数。例如,如果数字是8.0,则四舍五入为10。如果数字是2.0,则将其四舍五入为0。我该怎么做? 最佳答案 您可以使用round()函数(对float进行舍入到最接近的整数值)并应用10的“比例因子”:funcroundToTens(x:Double)->Int{return10*Int(round(x/10.0))}示例用法:print(roundToTens(4.9))//0print(roundToTens(15.1))//20在第二个例子中,15.1除以十(1.51),四舍五入(2.0

c# - 为什么 Convert.ToInt32() 舍入到最接近的偶数,而不是最接近的整数?

按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter指导。关闭10年前。查看Convert.ToInt32()的msdn文档,它指出:Ifvalueishalfwaybetweentwowholenumbers,theevennumberisreturned;thatis,4.5isconvertedto4,and5.5isconvertedto6.http://msdn.microsoft.com/en-us/librar

C# 正在自行舍入除法

当我在C#中进行除法时,它会自动向下舍入。看这个例子:doublei;i=200/3;Messagebox.Show(i.ToString());这显示了一个包含“66”的消息框。然而,200/3实际上是66.66666~。有没有一种方法可以避免这种舍入并保留像66.6666667这样的数字? 最佳答案 i=200/3正在执行整数除法。试试:i=(double)200/3或i=200.0/3或i=200d/3将常量之一声明为double将导致使用双除运算符。 关于C#正在自行舍入除法,我

c# - 在 C# 中舍入 double 值

我想要在C#中对double值进行舍入的方法。它需要能够将double值舍入为任何舍入精度值。我手头的代码如下:publicstaticdoubleRoundI(doublenumber,doubleroundingInterval){if(roundingInterval==0.0){return;}doubleintv=Math.Abs(roundingInterval);doublesign=Math.Sign(number);doubleval=Math.Abs(number);doublevalIntvRatio=val/intv;doublek=Math.Floor(val

c# - 舍入 DateTime 对象

我想将日期/时间四舍五入到图表应用程序的最近间隔。我想要一个如下所示的扩展方法签名,以便可以实现任何精度级别的舍入:staticDateTimeRound(thisDateTimedate,TimeSpanspan);我的想法是,如果我在十分钟的时间跨度内通过,它将四舍五入到最接近的十分钟间隔。我无法理解实现,希望你们中的一个人以前写过或使用过类似的东西。我认为下限、上限或最近的实现都可以。有什么想法吗?编辑:感谢@tvanfosson和@ShuggyCoUk,实现如下所示:publicstaticclassDateExtensions{publicstaticDateTimeRoun